be accessed only by sending messages to the object, since this results in MODULAR program design. (C++ offers 'private' and 'protected' declarations which helps the programmer enforce this*.) This allows the programmer to later change the implementation of the instance variables without affecting the functions which access objects of this class. This in turn improves code maintainability and reusability, a goal of OOP languages.
Note that it is possible to modularize C programs even without TC or C++ style classes, by considering each source file to define a unique class and by using variables with "file" scope. More significant advantages of the TC/C++ language are developed in the next section.